package com.sgcc.epri.dcloud.mapper.mpp;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sgcc.epri.dcloud.pojo.AssetTypeParamCenter;
import com.sgcc.epri.dcloud.pojo.CalResultAll;
import com.sgcc.epri.dcloud.pojo.FractureSurfaceOrc;
import com.sgcc.epri.dcloud.pojo.ManagementUnit;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public interface AccMapper extends BaseMapper<CalResultAll> {

    List<Map> findSql(@Param("sql") String sql);

    List<Map<String, Object>> queryObjectEngAll();

    List<Map<String, Object>> queryAcc(@Param("objectType") String objectEngStr, @Param("dt") String dt, @Param("param") List<AssetTypeParamCenter> param,
                                @Param("datasourceIds") List<ManagementUnit> managementUnits, @Param("classType") String mx, @Param("fractureSurfaceOrcs") List<FractureSurfaceOrc> fractureSurfaceOrcs);

    List<Map<String, Object>> queryAccDetails(@Param("objectType") String objectEngStr, @Param("dt") String dt, @Param("param") List<AssetTypeParamCenter> param,
                                       @Param("datasourceIds") List<ManagementUnit> managementUnits, @Param("classType") String mx, @Param("fractureSurfaceOrcs") List<FractureSurfaceOrc> fractureSurfaceOrcs);

    Integer queryDataCount(@Param("objectEngStr") String objectEngStr, @Param("dt") String dt);

    String queryObjectNameById(@Param("objectId") String objectId);

    List<Map<String, Object>> queryContentTwo(@Param("objectType") String objectType, @Param("datasourceIds") ArrayList<String> datasourceIds, @Param("assetType") String assetType, @Param("problemType") String problemType, @Param("dt") String dt, @Param("search") String search, @Param("limit") Integer page, @Param("offset") Integer limit);

    Integer queryContentTwoCount(@Param("objectType") String objectType, @Param("datasourceIds") ArrayList<String> datasourceIds, @Param("assetType") String assetType, @Param("problemType") String problemType, @Param("dt") String dt, @Param("search") String search, @Param("limit") Integer page, @Param("offset") Integer limit);


}
